<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Java Service Wrapper - wrapper.java.library.path.&lt;n&gt; Property</title>
<style media="all" type="text/css">
            @import url("./style/wrapper.css");
        </style>
</head>
<body bgcolor="#eeeeff" marginheight="0" marginwidth="0" leftmargin="0" topmargin="0" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<map name="wrapperLogo">
<area href="http://wrapper.tanukisoftware.org" coords="90,90,88" shape="circle">
</map>
<map name="wrapperTitle">
<area href="http://www.tanukisoftware.com" coords="28,32,176,48" shape="rect">
</map>
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<tr>
<td valign="top" width="180">
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<tr>
<td width="180"><img usemap="#wrapperLogo" border="0" height="180" width="180" src="images/WrapperLogo.png"></td>
</tr>
<tr>
<td>
<table cellpadding="4" cellspacing="0" width="100%" border="0">
<tr>
<td nowrap="true">
<div id="menu">
<script language="JavaScript">//@@MENU_TOP@@</script>
<div>
<b>Essentials</b>
<div>
<a href="introduction.html">Introduction</a>
</div>
<div>
<a href="integrate.html">Integration Methods</a>
</div>
<div>
<a href="properties.html">Configuration Properties</a>
</div>
<div>
<a href="launch.html">Launching Your Application</a>
</div>
<div>
<b>
                        &gt;&gt;
                        <a href="donate.html">Show Your Support</a>
                        &lt;&lt;
                    </b>
</div>
<div>
<a href="sponsors.html">Sponsors</a>
</div>
</div>
<div>
<b>Documentation</b>
<div>
<a href="jmx.html">JMX Control</a>
</div>
<div>
<a href="security-model.html">Security Model</a>
</div>
<div>
<a href="example.html">Feature Examples</a>
</div>
<div>
<a href="debugging.html">Debugging Your Application</a>
</div>
<div>
<a href="troubleshooting.html">Troubleshooting</a>
</div>
<div>
<a href="faq.html">FAQ</a>
</div>
<div>
<a href="release-notes.html">Release Notes</a>
</div>
<div>
<a href="history.html">Project History</a>
</div>
<div>
<a href="javadocs.html">Javadocs API</a>
</div>
<div>
<a href="buttons.html">Buttons</a>
</div>
<div>
<a href="authors.html">Authors</a>
</div>
<div>
<a href="license.html">License</a>
</div>
</div>
<div>
<b>Download</b>
<div>
<a href="http://sourceforge.net/project/showfiles.php?group_id=39428&package_id=31591">Binaries</a>
</div>
<div>
<a href="http://sourceforge.net/project/showfiles.php?group_id=39428&package_id=33658">Source Code</a>
</div>
</div>
<div>
<b>Get Involved</b>
<div>
<a href="http://sourceforge.net/projects/wrapper/">Source Forge</a>
</div>
<div>
<a href="http://svn.sourceforge.net/viewvc/wrapper/">Subversion Repository</a>
</div>
<div>
<a href="http://sourceforge.net/tracker/?group_id=39428">Issue Tracking</a>
</div>
<div>
<a href="http://sourceforge.net/mail/?group_id=39428">Mailing Lists and Archives</a>
</div>
<div>
<a href="http://sourceforge.net/forum/?group_id=39428">Forums (Old)</a>
</div>
</div>
</div>
<script language="JavaScript">//@@MENU_BOTTOM@@</script>
<p>
<b>Hosted by:</b>
<br>
<a href="http://sourceforge.net/projects/wrapper/"><img alt="SourceForge" border="0" height="31" width="88" src="http://sourceforge.net/sflogo.php?group_id=39428"></a>
<br>
</p>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td><td valign="top" width="*">
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<tr>
<td colspan="3"><img height="4" src="images/spacer.gif"></td>
</tr>
<tr>
<td align="center" height="90" colspan="2"><a href="http://wrapper.tanukisoftware.org"><img border="0" height="90" width="728" src="images/OfflineAd728x90.png"></a></td><td rowspan="5"><img width="4" src="images/spacer.gif"></td>
</tr>
<tr>
<td height="49" width="435"><img usemap="#wrapperTitle" border="0" height="49" width="435" src="images/WrapperTitle.png"></td><td valign="bottom" align="right" width="*"><a href="donate.html"><img border="0" height="16" width="300" src="images/DonationRequest.png"></a></td>
</tr>
<tr>
<td height="4" colspan="2"><img height="4" width="500" src="images/BorderTop.png"></td>
</tr>
<tr>
<td colspan="2">
<table cellspacing="0" cellpadding="0" width="100%" border="0">
<tr>
<td valign="top" width="4"><img height="496" width="4" src="images/BorderLeft.png"></td><td bgcolor="#ffffff" valign="top" width="*" colspan="2">
<table cellpadding="4" cellspacing="0" width="100%" border="0">
<tr>
<td nowrap="true" align="center"><font zcolor="#115b77" color="#8888aa" size="5"><b>wrapper.java.library.path.&lt;n&gt; Property</b></font></td>
</tr>
<tr>
<td>
<title>wrapper.java.library.path.&lt;n&gt; Property</title>
    
    
<a name="N10009"></a>
<table cellpadding="2" cellspacing="0" width="100%" border="0">
<tr>
<td bgcolor="#8888aa" class="sectionheader1" width="*"><font color="#eeeeee" size="4"><b>Configuration Property Overview</b></font></td>
</tr>
<tr>
<td><img height="4" width="1" src="./images/spacer.gif"></td>
</tr>
<tr>
<td>
        
        
<ul>
            
<li>
                
<a href="properties.html">Configuration Property Overview</a>
            
</li>
            
<li>
                
<a href="props-jvm.html">JVM Configuration Properties</a>
            
</li>
            
<li>
                
<a href="properties.html#name">Property List by Name</a>
            
</li>
        
</ul>
    
</td>
</tr>
</table>
    
<a name="N10027"></a>
<table cellpadding="2" cellspacing="0" width="100%" border="0">
<tr>
<td bgcolor="#8888aa" class="sectionheader1" width="*"><font color="#eeeeee" size="4"><b>wrapper.java.library.path.&lt;n&gt;</b></font></td>
</tr>
<tr>
<td><img height="4" width="1" src="./images/spacer.gif"></td>
</tr>
<tr>
<td>
        
        
<p>
            Java library path to use. You should have a series of properties
            listing up the various library path elements to use when launching
            the application.  Each element has a property name which starts
            with <tt>wrapper.java.library.path.</tt>
            and ends with an integer number counting up from 1.  There can be
            no missing numbers.
        </p>
        
<p>
            The library path is used to specify a list of directories in which
            to look for any native (JNI) libraries used by the application.
            You must place the <tt>wrapper.dll</tt>
            (for Windows) or <tt>libWrapper.so</tt>
            (for Linux and Unix) file in one of the directories specified.
        </p>
        
<table cellspacing="0" cellpadding="0" width="100%" border="0" class="listing">
<tr>
<td class="listingcaption"><i>Example:</i></td>
</tr>
<tr>
<td bgcolor="#eeeeee" class="listingcell"><font color="#444444">
<pre class="listingpre">wrapper.java.library.path.1=../lib</pre>
</font></td>
</tr>
</table>
        
<p>
            If is also possible to get the default Java behavior by requesting
            that the system path be appended to the end of the java library path
            generated by the Wrapper.  Please read the documentation, associated
            with the
            <a href="prop-java-library-path-append-system-path.html">wrapper.java.library.path.append_system_path</a>
            property before doing so.
        </p>
        
<div class="note">
<table cellspacing="0" cellpadding="2" width="100%" border="0">
<tr>
<td nowrap="nowrap" valign="top">
<p class="notelabel">
<font color="#0000a0"><b>NOTE MEG</b></font>
</p>
</td><td><img width="10" src="images/spacer.gif"></td><td bgcolor="#bbbbdd" class="notebody"><font color="#222260">
            
<p>
                On Windows, the Wrapper will correctly handle path elements
                which contain spaces by enclosing the final combined library
                path in quotes.  Individual library path elements should not
                be quoted even if they contain spaces.
            </p>
        
</font></td>
</tr>
</table>
</div>
        
<div class="note">
<table cellspacing="0" cellpadding="2" width="100%" border="0">
<tr>
<td nowrap="nowrap" valign="top">
<p class="notelabel">
<font color="#0000a0"><b>NOTE MEG</b></font>
</p>
</td><td><img width="10" src="images/spacer.gif"></td><td bgcolor="#bbbbdd" class="notebody"><font color="#222260">
            
<p>
                Some native libraries reference other dynamically linked libraries.
                Java will locate the initial JNI library using the java library path,
                but the secondary libraries are loaded using the default mechanism
                for the platform.
            </p>
            
<p>
                On Windows, the system will first look in the current working
                directory (The location of the wrapper.exe), then it will look in
                the Windows system32 directory and the Windows directory.  Finally,
                it will search the entire system PATH.  If both DLLs are located in
                your application's lib directory, it may be necessary to add its
                location to your system path as follows.  The PATH is for Windows
                and the LD_LIBRARY_PATH makes the configuration file cross
                platform so it works on Unix systems as well.
            </p>
            
<table cellspacing="0" cellpadding="0" width="100%" border="0" class="listing">
<tr>
<td bgcolor="#eeeeee" class="listingcell"><font color="#444444">
<pre class="listingpre">set.PATH=..%WRAPPER_FILE_SEPARATOR%bin%WRAPPER_PATH_SEPARATOR%%PATH%
set.LD_LIBRARY_PATH=..%WRAPPER_FILE_SEPARATOR%bin%WRAPPER_PATH_SEPARATOR%%LD_LIBRARY_PATH%</pre>
</font></td>
</tr>
</table>
            
<p>
                Not that placing the secondary library on the PATH rather than in the
                current working directory has a risk that an old version of the library
                could be encountered first in the Windows system32 directory if it was
                installed by another application.  This is due to the order in which
                the system looks for the file.
            </p>
            
<p>
                This problem has been seen when working with SAP's JCO libraries
                if other SAP applications are also installed on the system.
            </p>
        
</font></td>
</tr>
</table>
</div>
        
<a name="N1006C"></a>
<table cellpadding="2" cellspacing="0" width="100%" border="0">
<tr>
<td rowspan="3" width="10"><img height="1" width="10" src="./images/spacer.gif"></td><td bgcolor="#9999bb" class="sectionheader2" width="*"><font color="#eeeeee" size="3"><b>Platform specific native libraries</b></font></td>
</tr>
<tr>
<td><img height="4" width="1" src="./images/spacer.gif"></td>
</tr>
<tr>
<td>
            
            
<p>
                The Wrapper also provides a facility to make it easy to create
                binary distributions that run on any platform, even if the
                application makes use of native libraries.
            </p>
            
<p>
                In the case of the Wrapper's native library, the Wrapper is
                intelligent about the way it locates its native component.  The
                library can be named in such a way that it contains the current
                OS name, platform name, and bit depth.   Examples are:
                <tt>wrapper-windows-x86-32.dll</tt>
                and <tt>libwrapper-linux-x86-32.so</tt>.
            </p>
            
<p>
                Most libraries do not support this kind of feature however and
                expect their native libraries to be named the same for all
                platforms.  This usually results in having to release platform
                specific distributions of an application.   By defining the
                library path as follows however, the Wrapper will dynamically
                reference the correct platform specific directory at run time,
                making it possible to include all supported platforms in a
                single distribution.
            </p>
            
<table cellspacing="0" cellpadding="0" width="100%" border="0" class="listing">
<tr>
<td class="listingcaption"><i>Example:</i></td>
</tr>
<tr>
<td bgcolor="#eeeeee" class="listingcell"><font color="#444444">
<pre class="listingpre">wrapper.java.library.path.1=../lib
wrapper.java.library.path.2=../lib/native/%WRAPPER_OS%-%WRAPPER_ARCH%-%WRAPPER_BITS%</pre>
</font></td>
</tr>
</table>
            
<p>
                Which resolves to the following:
            </p>
            
<table cellspacing="0" cellpadding="0" width="100%" border="0" class="listing">
<tr>
<td class="listingcaption"><i>Windows:</i></td>
</tr>
<tr>
<td bgcolor="#eeeeee" class="listingcell"><font color="#444444">
<pre class="listingpre">wrapper.java.library.path.1=../lib
wrapper.java.library.path.2=../lib/native/windows-x86-32</pre>
</font></td>
</tr>
</table>
            
<table cellspacing="0" cellpadding="0" width="100%" border="0" class="listing">
<tr>
<td class="listingcaption"><i>Linux:</i></td>
</tr>
<tr>
<td bgcolor="#eeeeee" class="listingcell"><font color="#444444">
<pre class="listingpre">wrapper.java.library.path.1=../lib
wrapper.java.library.path.2=../lib/native/linux-x86-32</pre>
</font></td>
</tr>
</table>
            
<table cellspacing="0" cellpadding="0" width="100%" border="0" class="listing">
<tr>
<td class="listingcaption"><i>Solaris:</i></td>
</tr>
<tr>
<td bgcolor="#eeeeee" class="listingcell"><font color="#444444">
<pre class="listingpre">wrapper.java.library.path.1=../lib
wrapper.java.library.path.2=../lib/native/solaris-sparc-32</pre>
</font></td>
</tr>
</table>
        
</td>
</tr>
</table>
    
</td>
</tr>
</table>

</td>
</tr>
<tr>
<td align="right" id="author">
<p>
<i>by Leif Mortenson</i>
</p>
</td>
</tr>
</table>
<script language="JavaScript">//@@BODY_SECTION@@</script></td><td valign="bottom" width="4"><img height="496" width="4" src="images/BorderRight.png"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="right" height="4" colspan="2"><img height="4" width="500" src="images/BorderBottom.png"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellpadding="2" cellspacing="0" border="0" width="100%">
<tr>
<td id="copyright" align="left"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                            Copyright &copy;1999-2004 by <a href="http://www.tanukisoftware.com">Tanuki Software</a>.
                            All Rights Reserved.
                        </i></font></td><td align="right"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
                            last modified:
                            <script language="JavaScript"> document.write(document.lastModified); </script></i></font></td>
</tr>
</table>
</body>
</html>
